﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.RenameTool.RulesManager.CApRulesSet
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using System;
using System.Collections.Generic;
using System.ComponentModel;


namespace DnProcessSimulateCommands.RenameTool.RulesManager;

[Serializable]
public class CApRulesSet : INotifyPropertyChanged
{
  private string name;
  private string description;
  private List<RuleBase> rules;
  private Guid uniqueId = Guid.Empty;

  public string Name
  {
    get => this.name;
    set
    {
      this.name = value;
      this.NotifyPropertyChanged(nameof (Name));
    }
  }

  public string Description
  {
    get => this.description;
    set
    {
      this.description = value;
      this.NotifyPropertyChanged(nameof (Description));
    }
  }

  public List<RuleBase> Rules
  {
    get => this.rules;
    set
    {
      this.rules = value;
      this.NotifyPropertyChanged(nameof (Rules));
    }
  }

  public Guid UniqueId
  {
    get => this.uniqueId;
    set
    {
      this.uniqueId = value;
      this.NotifyPropertyChanged(nameof (UniqueId));
    }
  }

  public CApRulesSet() => this.rules = new List<RuleBase>();

  public CApRulesSet Merge(CApRulesSet set1, CApRulesSet set2) => new CApRulesSet();

  public void Append(CApRulesSet set2)
  {
    CApRulesSet capRulesSet = new CApRulesSet();
  }

  public void Override(CApRulesSet set2)
  {
    this.rules.Clear();
    this.Append(set2);
  }

  public void EmptySet() => this.rules.Clear();

  public bool IsEmpty() => this.rules.Count == 0;

  public void RemoveAt(int index)
  {
  }

  public event PropertyChangedEventHandler PropertyChanged;

  protected void NotifyPropertyChanged(string info)
  {
    if (this.PropertyChanged == null)
      return;
    this.PropertyChanged((object) this, new PropertyChangedEventArgs(info));
  }
}
